home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Trading on the Edge
/
Trading On The Edge - CD-ROM Toolkit (Wayzata Technology)(2031)(1994).bin
/
pc
/
mac_file
/
vendor_d
/
neuralwa
/
nw2v50
/
uio_tran.h
< prev
next >
Wrap
Text File
|
1993-08-23
|
29KB
|
797 lines
/* uio_tran.h */
/************************************************************************
* Copyright(C) 1987-1992 NeuralWare Inc *
* Penn Center West, IV-227, Pittsburgh, PA 15276 *
* Telephone: (412) 787-8222 FAX: (412) 787-8220 *
* *
* All rights reserved. No part of this program may be reproduced, *
* stored in a retrieval system, or transmitted, in any form or by any *
* means, electronic, mechanical, photocopying, recording or otherwise *
* without the prior written permission of the copyright owner, *
* NeuralWare, Inc. *
* *
* PROPRIETARY NOTICE *
* *
* This document is the property of NeuralWare, Inc. and contains *
* trade-secrets and other proprietary information. The information *
* herein is reserved as proprietary to NeuralWare, and is not to be *
* published, reproduced, copied, disclosed, used, or reverse *
* engineered without the express written consent of a duly authorized *
* representative of NeuralWare. *
************************************************************************
*/
/*********************************************************************/
/* */
/* uio_tran.h - description of TRANSFER buffer and all structures */
/* and data types unique to it. */
/* Author: John C. Fairman September 4, 1990 */
/* Copyright 1990 by NeuralWare Inc. */
/* */
/* $Author : $ */
/* $Date : $ */
/* $Source : $ */
/* $Revision : $ */
/* $Log : $ */
/* */
/*********************************************************************/
#ifndef UIO_TRAN_H
#define UIO_TRAN_H 1
#ifndef UIO_STRC_H
#include "uio_strc.h"
#endif
/* Usual configuration */
#define BUFFER_SHORT short
#define BUFFER_USHORT unsigned short
#if 1
#define BUFFER_INT long
#define BUFFER_UINT unsigned long
#else
#define BUFFER_INT int
#define BUFFER_UINT unsigned int
#endif
#define BUFFER_LONG long
#define BUFFER_ULONG unsigned long
#define BUFFER_REAL float
#define BUFFER_DOUBLE double
#define BUFFER_CHAR char
#define BUFFER_UCHAR unsigned char
#define BUFFER_PROC void *
#define BUFFER_ADDR void *
#if !defined(EMULATING) && !defined(LINKING)
#define TWO_DTB_MODEL 1
#endif
#define HOSTPRIMS_EQ_BUFFERPRIMS 1
#define SERVPRIMS_EQ_BUFFERPRIMS 1
/* Differences between model and usual configuration */
#if defined(IBP) || defined (I860) || defined (IBM)
/* use interrupt vectors allocated for BASIC */
#define GVEC 0x85 /* it will never be running with NW2 !! */
#undef SERVPRIMS_EQ_BUFFERPRIMS
#define SERVPRIMS_EQ_BUFFERPRIMS 0
#undef HOSTPRIMS_EQ_BUFFERPRIMS
#define HOSTPRIMS_EQ_BUFFERPRIMS 0
#undef BUFFER_INT
#define BUFFER_INT long
#undef BUFFER_UINT
#define BUFFER_UINT unsigned long
#if !defined (I860)
#undef TWO_DTB_MODEL
#define ONE_DTB_MODEL 1
#endif /* ! I860 */
#endif /* IBP || I860 || IBM */
#ifdef MAC
#if !defined(EMULATING) && !defined(LINKING)
#undef TWO_DTB_MODEL
#define ONE_DTB_MODEL
#endif
#undef BUFFER_DOUBLE
#define BUFFER_DOUBLE long double
#if !defined(MPW3) && !defined(AUX)
#undef SERVPRIMS_EQ_BUFFERPRIMS
#define SERVPRIMS_EQ_BUFFERPRIMS 0
#undef BUFFER_INT
#define BUFFER_INT long /* Must be 32 bit */
#undef BUFFER_UINT
#define BUFFER_UINT unsigned long /* Must be 32 bit */
#endif /* !MPW && !AUX */
#endif /* MAC */
/**/
/*******************************************************************/
/* */
/* Graphic Interface Data-structures & Defines */
/* */
/*******************************************************************/
typedef BUFFER_REAL DATA_T;
typedef BUFFER_ULONG D_OFFSET;
#define DATA_TYPE REAL_32_TYPE
#define HOST_PROCESS_ID 0x0
#define MAX_UIO_STRING 256
#define MAX_CN_VALS 1000
#if defined(VMS)
#define MAX_BLIT_BYTES 7500 /* hedge to keep mail at ~'8K' with overhead */
#else
#define MAX_BLIT_BYTES 8192
#endif
#define MAX_FORMAT_CHARS 256
#if (HOSTPRIMS_EQ_BUFFERPRIMS) && (SERVPRIMS_EQ_BUFFERPRIMS)
#define MAX_FORMAT_ARGS 20
#define FMT_ARGS_TYPE BUFFER_ULONG
#else
#define MAX_FORMAT_ARGS 1024
#define FMT_ARGS_TYPE BUFFER_CHAR
#endif
typedef struct {
BUFFER_UINT ag_msgl; /* message length */
BUFFER_UINT ag_msgdir; /* 0=read; 1=write */
BUFFER_CHAR ag_msg[MAX_UIO_STRING];/* message */
} ARGMSG;
typedef struct {
BUFFER_UINT ag_mode; /* save mode */
BUFFER_INT unused;
BUFFER_CHAR ag_NetN[MAX_UIO_STRING];/* network name */
} ARGN;
typedef struct { /* window */
BUFFER_UINT ag_winn; /* window number */
BUFFER_UINT ag_color; /* window color */
BUFFER_UINT ag_x0, ag_y0; /* origin */
BUFFER_UINT ag_x1, ag_y1; /* top right */
} ARG1;
typedef struct { /* line, point, box */
BUFFER_UINT ag_winn; /* window number */
BUFFER_UINT ag_color; /* color */
BUFFER_UINT ag_mode; /* mode 0=set, 1=xor */
BUFFER_UINT ag_x0, ag_y0; /* origin */
BUFFER_UINT ag_x1, ag_y1; /* end-point */
BUFFER_UINT ag_style; /* line style */
} ARG2;
typedef struct { /* put string */
BUFFER_UINT ag_winn; /* window number */
BUFFER_UINT ag_color; /* color */
BUFFER_UINT ag_mode; /* mode */
BUFFER_UINT ag_x0, ag_y0; /* origin */
BUFFER_UINT ag_rot; /* rotation */
BUFFER_CHAR ag_sp[MAX_UIO_STRING]; /* string itself */
} ARG4;
/**/
typedef struct {
BUFFER_UINT ag_winn; /* window number */
BUFFER_UINT ag_x0, ag_y0; /* point to read */
BUFFER_UINT unused;
} ARG3;
typedef struct {
BUFFER_UINT pr_mode; /* prune mode */
BUFFER_UINT unused;
BUFFER_DOUBLE pr_thresh; /* prune threshold */
BUFFER_DOUBLE pr_prob; /* prune probability */
BUFFER_DOUBLE pr_wtmax; /* maximum weight */
} ARGPRUNE;
typedef struct {
BUFFER_UINT ag_winn; /* window number */
BUFFER_UINT ag_mode; /* mode 0=set, 1=xor */
BUFFER_UINT ag_x0, ag_y0; /* origin */
BUFFER_UINT ag_x_exp, ag_y_exp; /* expansion factors */
BUFFER_UINT ag_x_size, ag_y_size; /* size of data */
BUFFER_CHAR ag_blit_bytes[MAX_BLIT_BYTES]; /* offset to blit data */
} ARGBLIT;
typedef struct {
BUFFER_UINT ag_winn; /* window number */
BUFFER_UINT ag_color; /* color of blit area */
BUFFER_UINT ag_mode; /* mode 0=set, 1=xor */
BUFFER_UINT ag_x0, ag_y0; /* origin */
BUFFER_UINT ag_x_size, ag_y_size; /* size of data */
BUFFER_UINT ag_rot; /* rotation */
BUFFER_CHAR ag_blit_bytes[MAX_BLIT_BYTES]; /* offset to blit data */
} ARGPBLIT;
typedef struct {
BUFFER_REAL ape_I; /* sum */
BUFFER_REAL ape_Tran; /* tran */
BUFFER_REAL ape_Output; /* output */
BUFFER_REAL ape_Err; /* error */
BUFFER_REAL ape_CumErr; /* cumulative error */
BUFFER_UINT ape_Flags; /* flags */
BUFFER_UINT unused;
} APE_BUF;
typedef struct {
BUFFER_LONG asc_recall; /* recall counter */
BUFFER_REAL asc_rcl[10]; /* recall data */
BUFFER_LONG asc_learn; /* learn counter */
BUFFER_REAL asc_lrn[10]; /* learn data */
} ASCOL_BUF;
typedef struct {
BUFFER_CHAR asc_nam[16]; /* schedule name */
ASCOL_BUF asc_col[5]; /* data columns */
} ASCHED_BUF;
typedef struct {
BUFFER_UINT start_in;
BUFFER_UINT start_out;
BUFFER_REAL min_in;
BUFFER_REAL max_in;
BUFFER_REAL min_out;
BUFFER_REAL max_out;
} IOPARMS_BUF;
typedef struct {
BUFFER_UINT num_pes;
BUFFER_UINT n_wt_flds;
BUFFER_UINT sum_f;
BUFFER_UINT tran_f;
BUFFER_UINT output_f;
BUFFER_UINT learn_f;
BUFFER_UINT error_f;
BUFFER_UINT noise_f;
/* The following are the only ones that can be written to */
BUFFER_REAL scale;
BUFFER_REAL offst;
BUFFER_REAL fprm_offst;
BUFFER_REAL low_init;
BUFFER_REAL high_init;
BUFFER_REAL unused;
} ALYR_BUF;
/**/
typedef struct {
BUFFER_UINT ag_rwf; /* read=0; write=1 */
BUFFER_UINT ag_layern; /* layer number */
BUFFER_UINT ag_pen; /* PE within layer */
BUFFER_UINT unused;
union { /* data itself */
APE_BUF ag_pe;
ASCHED_BUF ag_sched;
IOPARMS_BUF ioparms_buf;
BUFFER_LONG ag_ctr[8];
ALYR_BUF ag_lyr;
} ag_rdata;
} ARGPSCIO;
typedef struct {
BUFFER_LONG ag_count; /* learn / recall count */
} ARGLR;
typedef struct {
BUFFER_UINT xsize;
BUFFER_UINT ysize;
BUFFER_UINT ncolor;
BUFFER_UINT chrx;
BUFFER_UINT chry;
BUFFER_UINT unused;
} AGPARMS;
typedef struct {
BUFFER_UINT key;
BUFFER_UINT xloc;
BUFFER_UINT yloc;
BUFFER_UINT buttonstates;
} AMOUSE;
typedef struct {
BUFFER_UINT nlay;
BUFFER_UINT nin;
BUFFER_UINT nout;
BUFFER_UINT ltype;
BUFFER_CHAR cs[FNALC];
/* FIX_LATER */
BUFFER_CHAR netn[FNALC];
} ARDNETINF;
typedef struct {
BUFFER_UINT process_id;
BUFFER_UINT unused;
BUFFER_CHAR filename[FNALC];
} INITCMD;
#ifdef MAC
typedef struct {
BUFFER_UINT szof_uio_dbl;
BUFFER_PROC Receive_request;
BUFFER_PROC stdio_funcs[MIO_MAX];
} CREATECMD;
#endif
typedef struct {
BUFFER_UINT layn;
BUFFER_UINT npes;
} DATACMD;
typedef struct {
BUFFER_UINT instrument_id;
BUFFER_UINT ndataelems;
} INSTRUMENTCMD;
typedef struct {
BUFFER_INT eoeflag; /* End of Epoch flag: 0=start, 1=end */
} OBJFUNCCMD;
typedef struct {
BUFFER_UINT ndataelems;
} WRITEVECTORCMD;
/**/
typedef struct {
FMT_ARGS_TYPE format_args[MAX_FORMAT_ARGS];
BUFFER_CHAR format[MAX_FORMAT_CHARS];
} ARGFMT;
/* CCK: use longs (here & PRSTATS to make it universal across
all platforms. */
typedef struct {
BUFFER_LONG PRNwts;
BUFFER_REAL PRMin;
BUFFER_REAL PRMax;
BUFFER_REAL PRSum;
BUFFER_REAL PRAverage;
BUFFER_REAL PRMedian;
BUFFER_LONG PRHist[NPHIST];
BUFFER_REAL PRMinA;
BUFFER_REAL PRMaxA;
BUFFER_REAL PRSumA;
BUFFER_REAL PRAverageA;
BUFFER_REAL PRMedianA;
BUFFER_LONG PRHistA[NPHIST];
} PRSTATS_BUF;
typedef struct {
BUFFER_UINT layern; /* destination layer number */
BUFFER_UINT pen; /* PE number in dest. layer */
BUFFER_UINT slayern; /* Source layer number */
BUFFER_UINT spen; /* Start PE in source layer */
BUFFER_UINT n_cn_vals; /* Number of connection values */
BUFFER_UINT var_idx; /* Index into connection structure */
/* 0=flag, 1=weight, 2=delta weight, ... */
BUFFER_UINT rwf; /* Read/Write flag */
BUFFER_REAL cn_vals[MAX_CN_VALS]; /* Connection data */
} ARGCNIO;
typedef struct {
BUFFER_CHAR fname[FNALC]; /* File name */
BUFFER_UINT lrf; /* Learn/Recall flag */
BUFFER_UINT binf; /* binary flag */
BUFFER_UINT rndf; /* Randomization flag */
BUFFER_UINT ldf; /* Load flag */
} ARGFILEIO;
typedef struct {
BUFFER_CHAR iofilen[FNALC]; /* I/O File name */
BUFFER_UINT lrf; /* Learn/Recall flag */
BUFFER_LONG n_recs; /* Number of records in the file */
} ARDFILEINF;
typedef struct {
BUFFER_LONG svb_lcnt; /* learn count */
BUFFER_LONG svb_tint; /* test interval */
BUFFER_LONG svb_nret; /* # retries */
BUFFER_UINT svb_logf; /* log flag */
BUFFER_CHAR svb_fn[FNALC]; /* file name */
BUFFER_UINT svb_prfl; /* prune flag */
BUFFER_UINT svb_prmx; /* max units to prune */
BUFFER_REAL svb_prtol; /* pruning tolerance */
} ASAVEBEST;
typedef struct {
BUFFER_UINT max_nd; /* Max number of hid PEs to train for */
BUFFER_UINT n_cand; /* Number of candidates per node */
BUFFER_UINT v_max; /* Max dimension of candidate vector */
BUFFER_UINT ret_f; /* =1: Retrain tenured PEs */
BUFFER_UINT stb_maxepoch; /* Max # epochs per candidate */
BUFFER_UINT stb_patience; /* Number epochs must be stable */
BUFFER_REAL stb_rmsetol; /* RMS error stability tolerance */
} ACCLRN;
typedef struct {
BUFFER_LONG seed; /* log flag */
} ARANDSEED;
typedef struct _data_desc_t {
BUFFER_INT num_elements; /* 1 if scalar */
BUFFER_INT data_type;
/************************* READ THIS *********************************/
BUFFER_INT unused; /* This is here to coincide
with I860 alignment of doubles
on 8 byte boundaries. If this
were not here, the RPC_area
field which occurs after the
data_descriptor field in the
DATA_TRANSFER_AREA structure
would align on an eight byte
boundary due to the inclusion
of a double within the union in
the RPC_area. */
/*********************************************************************/
#define NO_DATA_TYPE 0x0010
#define INT_8_TYPE 0x0010 /* Legal data types */
#define UINT_8_TYPE 0x0110 /* The derivation from the */
#define INT_16_TYPE 0x0020 /* bit assignments are as */
#define UINT_16_TYPE 0x0120 /* follows */
#define INT_32_TYPE 0x0040 /* bit 0-3 -> # of bits */
#define UINT_32_TYPE 0x0140 /* bit 4-7 -> # of bytes */
#define REAL_32_TYPE 0x0440 /* bit 8 -> unsigned */
#define REAL_64_TYPE 0x0480 /* bit 9 -> char */
#define CHAR_8_TYPE 0x0210 /* bit 10 -> float */
#define UCHAR_8_TYPE 0x0310 /* bit 11-15 -> unused */
#define TEXT_TYPE 0x0210
} DATA_DESC_T;
/**/
typedef union {
ARGMSG argmsg;
ARGN argn;
APE ape;
ASCOL ascol;
ASCHED asched;
ALYR alyr;
ARG1 arg1;
ARG2 arg2;
ARG3 arg3;
ARG4 arg4;
ARGBLIT argblit;
ARGLR arglr;
ARGPBLIT argpblit;
ARGPRUNE argprune;
ARGPSCIO argpscio;
AGPARMS agparms;
AMOUSE amouse;
ARDNETINF ardnetinf;
DATACMD datacmd;
INSTRUMENTCMD instrumentcmd;
OBJFUNCCMD objfunccmd;
WRITEVECTORCMD writevectorcmd;
INITCMD initcmd;
#ifdef MAC
CREATECMD createcmd;
#endif
ARGFMT argfmt;
PRSTATS_BUF prstats_buf;
ARGCNIO argcnio;
ARGFILEIO argfileio;
ARDFILEINF ardfileinf;
ASAVEBEST asavebest;
ARANDSEED arandseed;
ACCLRN acclrn;
} ALL_ARG_LISTS_T;
typedef struct {
BUFFER_INT process_from_id;
BUFFER_INT process_to_id;
BUFFER_INT unused; /* For future expans. and alignment */
#define REQ_STATUS_NONE 0x00
#define REQ_STATUS_STARTED 0x01
#define REQ_STATUS_COMPLETE 0x02
BUFFER_INT request;
#define CMD_CREATE 0xff /* Never use this in DTB */
#define CMD_NONE 0x00 /* This command cannot be sent */
#define CMD_WAIT 0x01 /* The commands which can be sent */
#define CMD_ACKNOWLEDGE 0x02
#define CMD_INIT 0x03
#define CMD_TERM 0x04
#define CMD_ATTENTION 0x05
#define CMD_LEARN_START 0x06
#define CMD_LEARN_INPUT 0x07
#define CMD_LEARN_OUTPUT 0x08
#define CMD_LEARN_RESULT 0x09
#define CMD_LEARN_END 0x0A
#define CMD_RECALL_START 0x0B
#define CMD_READ 0x0C
#define CMD_WRITE 0x0D
#define CMD_WRITE_STEP 0x0E
#define CMD_RECALL_TEST 0x0F
#define CMD_RECALL_END 0x10
#define CMD_INSTRUMENT 0x11
#define CMD_WRITE_VECTOR 0x12
#define CMD_UNINSTALL 0x13 /* Uninstall never use this in DTB */
#define CMD_REWIND 0x14
#define CMD_EXPLAIN 0x15
#define CMD_OBJFUNC 0x16
/**/
#define REQ_NONE 0x20 /* This request cannot be received */
#define REQ_WAIT 0x21 /* The requests which can be handled */
#define REQ_ACKNOWLEDGE 0x22
#define REQ_GETSTR 0x23
#define REQ_PUTSTR 0x24
#define REQ_PUTFMT 0x25
#define REQ_SAVENET 0x26
#define REQ_UG_WINDOW 0x27
#define REQ_UG_LINE 0x28
#define REQ_UG_POINT 0x29
#define REQ_UG_BOX 0x2A
#define REQ_UG_BOXF 0x2B
#define REQ_UG_PUTS 0x2C
#define REQ_UG_WINDEL 0x2D
#define REQ_UG_WINCLR 0x2E
#define REQ_UG_GPARMS 0x2F
#define REQ_UG_MOUSE 0x30
#define REQ_UG_RDPOINT 0x31
#define REQ_UG_RDNETINF 0x32
#define REQ_UG_GETINSTRT 0x33
#define REQ_UG_LOADNET 0x34
#define REQ_UG_LEARN 0x35
#define REQ_UG_RECALL 0x36
#define REQ_UG_MSGIO 0x37
#define REQ_UG_WTSTATS 0x38
#define REQ_UG_PRUNE 0x39
#define REQ_UG_BLIT 0x3A
#define REQ_UG_PBLIT 0x3B
#define REQ_UG_PEIO 0x3C
#define REQ_UG_SCHDIO 0x3D
#define REQ_UG_CTRIO 0x3E
#define REQ_UG_IOPARMS 0x3F
#define REQ_UG_CNIO 0x40
#define REQ_UG_TEST 0x41
#define REQ_UG_FILEIO 0x42
#define REQ_UG_NETINIT 0x43
#define REQ_UG_CIRCLE 0x44
#define REQ_UG_LYRIO 0x45
#define REQ_UG_RDFILEINF 0x46
#define REQ_UG_SAVEBEST 0x47
#define REQ_UG_RANDSEED 0x48
#define REQ_UG_CCLRN 0x49
/* The UIO_errors go here 0x80 -> 0xBF */
union {
BUFFER_SHORT buffer_short;
BUFFER_USHORT buffer_ushort;
BUFFER_INT buffer_int;
BUFFER_UINT buffer_uint;
BUFFER_LONG buffer_long;
BUFFER_ULONG buffer_ulong;
BUFFER_REAL buffer_real;
BUFFER_DOUBLE buffer_double;
BUFFER_CHAR buffer_char;
BUFFER_UCHAR buffer_uchar;
} return_value;
BUFFER_INT unused2[2]; /* For future expans. and alignment */
ALL_ARG_LISTS_T all_arg_lists;
} RPC_AREA_T;
#ifdef UNIX
#ifdef VMS
#define MAX_TRANSFER_UNITS 1000 /* VMS - keep it below 64K bytes! */
#define MAXMBOX 8192
#else
#define MAX_TRANSFER_UNITS 20000 /* UNIX - huge */
#endif
#else
#define MAX_TRANSFER_UNITS 5000 /* all others */
#endif
#define SIZE_OF_UIO_BUFFER (sizeof(DATA_T) * MAX_TRANSFER_UNITS)
typedef struct _data_area_t {
BUFFER_INT unused[4];
DATA_T data[MAX_TRANSFER_UNITS];
} DATA_AREA_T;
/**/
typedef struct _data_transfer_area_t {
D_OFFSET data_offset; /* # of bytes from buffer beginning */
BUFFER_INT unused[4];
DATA_DESC_T data_descriptor; /* type of data */
/* The data descriptor is here to */
/* ensure host/server compatibility */
/* and allow for future portability */
/* and userio across dispergent */
/* architectures. */
RPC_AREA_T RPC_area; /* area used to pass arguments */
DATA_AREA_T data_area; /* area used to transfer data */
} DATA_TRANSFER_AREA_T;
#define STANDARD_SIZE (sizeof(DATA_TRANSFER_AREA_T) - sizeof(DATA_AREA_T) - sizeof(ALL_ARG_LISTS_T))
#define MAX_REQ_SIZE (sizeof(DATA_TRANSFER_AREA_T) - sizeof(DATA_AREA_T))
typedef struct _request_data_t {
BUFFER_INT response;
BUFFER_INT i_or_o;
BUFFER_INT num_bytes_out;
BUFFER_INT num_bytes_back;
#define NON_IO_REQ 0x0
#define INPUT_REQ 0x1
#define OUTPUT_REQ 0x2
} REQUEST_DATA_T;
/**/
#ifdef HOME_FOR_TRANSFER_DATA
/* NOTE: these global variables are */
/* initialized here to force them into */
/* the default data segment (Microsoft) */
/* their values can then be verified */
/* through a window mapped onto the */
/* user I/O data segment from inside */
/* NWORKS (OSx86 versions) */
GLOBALDEF DATA_TRANSFER_AREA_T *Data_transfer_ptr = {NULL};
GLOBALDEF NINT Process_id = {-1};
#if !defined(UIO_SERVER) || !defined(EMULATING)
GLOBALDEF REQUEST_DATA_T command_data_table[74] = {
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* CMD_NONE 0x00 */
/* The commands which can be sent */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* CMD_WAIT */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* CMD_ACKNOWLEDGE */
{ REQ_ACKNOWLEDGE, NON_IO_REQ,
sizeof(INITCMD), 0}, /* CMD_INIT */
{ REQ_ACKNOWLEDGE, NON_IO_REQ,
sizeof(INITCMD), 0}, /* CMD_TERM */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* CMD_ATTENTION */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* CMD_LEARN_START */
{ REQ_ACKNOWLEDGE, INPUT_REQ,
sizeof(DATACMD), sizeof(DATACMD)}, /* CMD_LEARN_INPUT */
{ REQ_ACKNOWLEDGE, INPUT_REQ,
sizeof(DATACMD), sizeof(DATACMD)}, /* CMD_LEARN_OUTPUT */
{ REQ_ACKNOWLEDGE, OUTPUT_REQ,
sizeof(DATACMD), 0}, /* CMD_LEARN_RESULT */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* CMD_LEARN_END */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* CMD_RECALL_START */
{ REQ_ACKNOWLEDGE, INPUT_REQ,
sizeof(DATACMD), sizeof(DATACMD)}, /* CMD_READ */
{ REQ_ACKNOWLEDGE, OUTPUT_REQ,
sizeof(DATACMD), 0}, /* CMD_WRITE */
{ REQ_ACKNOWLEDGE, OUTPUT_REQ,
sizeof(DATACMD), 0}, /* CMD_WRITE_STEP */
{ REQ_ACKNOWLEDGE, OUTPUT_REQ,
sizeof(DATACMD), 0}, /* CMD_RECALL_TEST */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* CMD_RECALL_END 0x10 */
{ REQ_ACKNOWLEDGE, OUTPUT_REQ,
sizeof(INSTRUMENTCMD), 0}, /* CMD_INSTRUMENT */
{ REQ_ACKNOWLEDGE, OUTPUT_REQ,
sizeof(WRITEVECTORCMD), 0}, /* CMD_WRITE_VECTOR */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* CMD_UNINSTALL */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* CMD_RECALL */
{ REQ_ACKNOWLEDGE, OUTPUT_REQ,
sizeof(DATACMD), 0}, /* CMD_EXPLAIN */
{ REQ_ACKNOWLEDGE, INPUT_REQ,
sizeof(OBJFUNCCMD), sizeof(OBJFUNCCMD)}, /* CMD_OBJFUNC */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* RESERVED */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* RESERVED */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* RESERVED */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* RESERVED */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* RESERVED */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* RESERVED */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* RESERVED */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* RESERVED */
{ REQ_ACKNOWLEDGE, NON_IO_REQ, 0, 0}, /* RESERVED */
/**/
{ CMD_NONE, NON_IO_REQ, 0, 0}, /* REQ_NONE 0x20 */
/* The requests which can be received */
{ CMD_NONE, NON_IO_REQ, 0, 0}, /* REQ_WAIT */
{ CMD_NONE, NON_IO_REQ, 0, 0}, /* REQ_ACKNOWLEDGE */
{ CMD_NONE, NON_IO_REQ,
0, sizeof(ARGMSG)}, /* REQ_GETSTR */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGMSG), 0}, /* REQ_PUTSTR */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGFMT), 0}, /* REQ_PUTFMT */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGN), 0}, /* REQ_SAVENET */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARG1), 0}, /* REQ_UG_WINDOW */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARG2), 0}, /* REQ_UG_LINE */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARG2), 0}, /* REQ_UG_POINT */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARG2), 0}, /* REQ_UG_BOX */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARG2), 0}, /* REQ_UG_BOXF */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARG4), 0}, /* REQ_UG_PUTS */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARG3), 0}, /* REQ_UG_WINDEL */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARG3), 0}, /* REQ_UG_WINCLR */
{ CMD_NONE, NON_IO_REQ,
0, sizeof(AGPARMS)}, /* REQ_UG_GPARMS */
{ CMD_NONE, NON_IO_REQ,
0, sizeof(AMOUSE)}, /* REQ_UG_MOUSE 0x30 */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARG3), 0}, /* REQ_UG_RDPOINT */
{ CMD_NONE, NON_IO_REQ,
0, sizeof(ARDNETINF)}, /* REQ_UG_RDNETINF */
{ CMD_NONE, NON_IO_REQ,
0, sizeof(ARGMSG)}, /* REQ_UG_GETINSTRT */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGN), 0}, /* REQ_UG_LOADNET */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGLR), 0}, /* REQ_UG_LEARN */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGLR), 0}, /* REQ_UG_RECALL */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGMSG), sizeof(ARGMSG)}, /* REQ_UG_MSGIO */
{ CMD_NONE, NON_IO_REQ,
0, sizeof(PRSTATS_BUF)}, /* REQ_UG_WTSTATS */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGPRUNE), 0}, /* REQ_UG_PRUNE */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGBLIT), 0}, /* REQ_UG_BLIT */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGPBLIT), 0}, /* REQ_UG_PBLIT */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGPSCIO), sizeof(ARGPSCIO)}, /* REQ_UG_PEIO */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGPSCIO), sizeof(ARGPSCIO)}, /* REQ_UG_SCHDIO */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGPSCIO), sizeof(ARGPSCIO)}, /* REQ_UG_CTRIO 0x3D */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGPSCIO), sizeof(ARGPSCIO)}, /* REQ_UG_IOPARMS */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGCNIO), sizeof(ARGCNIO)}, /* REQ_UG_CNIO */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGLR), 0}, /* REQ_UG_TEST */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGFILEIO), 0}, /* REQ_UG_FILEIO */
{ CMD_NONE, NON_IO_REQ,
0, 0}, /* REQ_UG_NETINIT */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARG2), 0}, /* REQ_UG_CIRCLE */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARGPSCIO), sizeof(ARGPSCIO)}, /* REQ_UG_LYRIO */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARDFILEINF),sizeof(ARDFILEINF)}, /* REQ_UG_RDFILEINF */
{ CMD_NONE, NON_IO_REQ,
sizeof(ASAVEBEST), 0}, /* REQ_UG_SAVEBEST */
{ CMD_NONE, NON_IO_REQ,
sizeof(ARANDSEED), 0}, /* REQ_UG_RANDSEED */
{ CMD_NONE, NON_IO_REQ,
sizeof(ACCLRN), 0} /* REQ_UG_CCLRN */
};
#endif /* else of !defined(UIO_SERVER) || !defined(EMULATING) */
#else /* HOME_FOR_TRANSFER_DATA */
GLOBALREF DATA_TRANSFER_AREA_T *Data_transfer_ptr;
GLOBALREF REQUEST_DATA_T command_data_table[];
GLOBALREF NINT Process_id;
#endif /* HOME_FOR_TRANSFER_DATA */
/**/
/* Host UIO errors */
#define OUTPUT_OVERFLOW 0x81
#define INPUT_OVERFLOW 0x82
#define EXPECTED_INPUT_OVERFLOW 0x83
#define INPUT_CORRUPTION 0x84
#define UNKNOWN_REQUEST 0x85
#define PROCESS_CREATION_FAILED 0x86
/* Server UIO errors */
#define UNKNOWN_COMMAND 0x91
#endif /* ifndef UIO_TRAN_H */